﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>

  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Class SECSItem
 </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Class SECSItem
 ">
  
    <link rel="shortcut icon" href="../../favicon.ico">
    <link rel="stylesheet" href="../../styles/docfx.vendor.css">
    <link rel="stylesheet" href="../../styles/docfx.css">
    <link rel="stylesheet" href="../../styles/main.css">
    <meta property="docfx:navrel" content="../../toc.html">
    <meta property="docfx:tocrel" content="toc.html">
  
  
  
  </head>
  <body data-spy="scroll" data-target="#affix" data-offset="120">
    <div id="wrapper">
      <header>

        <nav id="autocollapse" class="navbar navbar-inverse ng-scope" role="navigation">
          <div class="container">
            <div class="navbar-header">
              <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
              </button>

              <a class="navbar-brand" href="../../index.html">
                <img id="logo" class="svg" src="../../logo.svg" alt="">
              </a>
            </div>
            <div class="collapse navbar-collapse" id="navbar">
              <form class="navbar-form navbar-right" role="search" id="search">
                <div class="form-group">
                  <input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">
                </div>
              </form>
            </div>
          </div>
        </nav>

        <div class="subnav navbar navbar-default">
          <div class="container hide-when-search" id="breadcrumb">
            <ul class="breadcrumb">
              <li></li>
            </ul>
          </div>
        </div>
      </header>
      <div role="main" class="container body-content hide-when-search">

        <div class="sidenav hide-when-search">
          <a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>
          <div class="sidetoggle collapse" id="sidetoggle">
            <div id="sidetoc"></div>
          </div>
        </div>
        <div class="article row grid-right">
          <div class="col-md-10">
            <article class="content wrap" id="_content" data-uid="com.CIMthetics.CSharpSECSTools.SECSItems.SECSItem">


  <h1 id="com_CIMthetics_CSharpSECSTools_SECSItems_SECSItem" data-uid="com.CIMthetics.CSharpSECSTools.SECSItems.SECSItem" class="text-break">Class SECSItem
</h1>
  <div class="markdown level0 summary"><p>This is the base class for all of the <code>SECSItems</code> that are implemented in this
library. Its purpose is to conceal the tedium of managing the information
that will be needed for encoding/decoding the various SECSItems to/from
the wire/transmission format that the transport layer(s) use.</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritance">
    <h5>Inheritance</h5>
    <div class="level0"><span class="xref">System.Object</span></div>
    <div class="level1"><span class="xref">SECSItem</span></div>
      <div class="level2"><a class="xref" href="com.CIMthetics.CSharpSECSTools.SECSItems.ASCIISECSItem.html">ASCIISECSItem</a></div>
      <div class="level2"><a class="xref" href="com.CIMthetics.CSharpSECSTools.SECSItems.BinarySECSItem.html">BinarySECSItem</a></div>
      <div class="level2"><a class="xref" href="com.CIMthetics.CSharpSECSTools.SECSItems.BooleanArraySECSItem.html">BooleanArraySECSItem</a></div>
      <div class="level2"><a class="xref" href="com.CIMthetics.CSharpSECSTools.SECSItems.BooleanSECSItem.html">BooleanSECSItem</a></div>
      <div class="level2"><a class="xref" href="com.CIMthetics.CSharpSECSTools.SECSItems.F4ArraySECSItem.html">F4ArraySECSItem</a></div>
      <div class="level2"><a class="xref" href="com.CIMthetics.CSharpSECSTools.SECSItems.F4SECSItem.html">F4SECSItem</a></div>
      <div class="level2"><a class="xref" href="com.CIMthetics.CSharpSECSTools.SECSItems.F8ArraySECSItem.html">F8ArraySECSItem</a></div>
      <div class="level2"><a class="xref" href="com.CIMthetics.CSharpSECSTools.SECSItems.F8SECSItem.html">F8SECSItem</a></div>
      <div class="level2"><a class="xref" href="com.CIMthetics.CSharpSECSTools.SECSItems.I1ArraySECSItem.html">I1ArraySECSItem</a></div>
      <div class="level2"><a class="xref" href="com.CIMthetics.CSharpSECSTools.SECSItems.I1SECSItem.html">I1SECSItem</a></div>
      <div class="level2"><a class="xref" href="com.CIMthetics.CSharpSECSTools.SECSItems.I2ArraySECSItem.html">I2ArraySECSItem</a></div>
      <div class="level2"><a class="xref" href="com.CIMthetics.CSharpSECSTools.SECSItems.I2SECSItem.html">I2SECSItem</a></div>
      <div class="level2"><a class="xref" href="com.CIMthetics.CSharpSECSTools.SECSItems.I4ArraySECSItem.html">I4ArraySECSItem</a></div>
      <div class="level2"><a class="xref" href="com.CIMthetics.CSharpSECSTools.SECSItems.I4SECSItem.html">I4SECSItem</a></div>
      <div class="level2"><a class="xref" href="com.CIMthetics.CSharpSECSTools.SECSItems.I8ArraySECSItem.html">I8ArraySECSItem</a></div>
      <div class="level2"><a class="xref" href="com.CIMthetics.CSharpSECSTools.SECSItems.I8SECSItem.html">I8SECSItem</a></div>
      <div class="level2"><a class="xref" href="com.CIMthetics.CSharpSECSTools.SECSItems.ListSECSItem.html">ListSECSItem</a></div>
      <div class="level2"><a class="xref" href="com.CIMthetics.CSharpSECSTools.SECSItems.U1ArraySECSItem.html">U1ArraySECSItem</a></div>
      <div class="level2"><a class="xref" href="com.CIMthetics.CSharpSECSTools.SECSItems.U1SECSItem.html">U1SECSItem</a></div>
      <div class="level2"><a class="xref" href="com.CIMthetics.CSharpSECSTools.SECSItems.U2ArraySECSItem.html">U2ArraySECSItem</a></div>
      <div class="level2"><a class="xref" href="com.CIMthetics.CSharpSECSTools.SECSItems.U2SECSItem.html">U2SECSItem</a></div>
      <div class="level2"><a class="xref" href="com.CIMthetics.CSharpSECSTools.SECSItems.U4ArraySECSItem.html">U4ArraySECSItem</a></div>
      <div class="level2"><a class="xref" href="com.CIMthetics.CSharpSECSTools.SECSItems.U4SECSItem.html">U4SECSItem</a></div>
      <div class="level2"><a class="xref" href="com.CIMthetics.CSharpSECSTools.SECSItems.U8ArraySECSItem.html">U8ArraySECSItem</a></div>
      <div class="level2"><a class="xref" href="com.CIMthetics.CSharpSECSTools.SECSItems.U8SECSItem.html">U8SECSItem</a></div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="com.CIMthetics.CSharpSECSTools.SECSItems.html">com.CIMthetics.CSharpSECSTools.SECSItems</a></h6>
  <h6><strong>Assembly</strong>: SECSItems.dll</h6>
  <h5 id="com_CIMthetics_CSharpSECSTools_SECSItems_SECSItem_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public abstract class SECSItem</code></pre>
  </div>
  <h3 id="constructors">Constructors
</h3>


  <a id="com_CIMthetics_CSharpSECSTools_SECSItems_SECSItem__ctor_" data-uid="com.CIMthetics.CSharpSECSTools.SECSItems.SECSItem.#ctor*"></a>
  <h4 id="com_CIMthetics_CSharpSECSTools_SECSItems_SECSItem__ctor_com_CIMthetics_CSharpSECSTools_SECSItems_SECSItemFormatCode_System_Int32_com_CIMthetics_CSharpSECSTools_SECSItems_SECSItemNumLengthBytes_" data-uid="com.CIMthetics.CSharpSECSTools.SECSItems.SECSItem.#ctor(com.CIMthetics.CSharpSECSTools.SECSItems.SECSItemFormatCode,System.Int32,com.CIMthetics.CSharpSECSTools.SECSItems.SECSItemNumLengthBytes)">SECSItem(SECSItemFormatCode, Int32, SECSItemNumLengthBytes)</h4>
  <div class="markdown level1 summary"><p>This is a base class constructor for a SECSItem.  When using this constructor, the
number of length bytes will be set to the greater of, the specified number of
length bytes, or the minimum number required to
handle an item with the length that is specified by the value of the
<code>lengthInBytes</code> parameter.
This constructor sets the following base class attributes from the provided data:
<code>formatCode</code>,
<code>lengthInBytes</code>, and
<code>outboundNumberOfLengthBytes</code>.</p>
<p></p>
Note: An <code>ArgumentException</code> will be thrown if the value of the
<code>lengthInBytes</code> parameter is outside the range of 0 - 16777215
inclusive.
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="declaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">protected SECSItem(SECSItemFormatCode formatCode, int lengthInBytes, SECSItemNumLengthBytes desiredNumberOfLengthBytes)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="com.CIMthetics.CSharpSECSTools.SECSItems.SECSItemFormatCode.html">SECSItemFormatCode</a></td>
        <td><span class="parametername">formatCode</span></td>
        <td><p>The SECS Item Format code for this SECSItem.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><span class="parametername">lengthInBytes</span></td>
        <td><p>The length in bytes that this SECSItem will take up in
its wire/transmission format.</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="com.CIMthetics.CSharpSECSTools.SECSItems.SECSItemNumLengthBytes.html">SECSItemNumLengthBytes</a></td>
        <td><span class="parametername">desiredNumberOfLengthBytes</span></td>
        <td><p>This parameter expresses the desired
number or length bytes to be used for this SECSItem when it is converted
to its wire/transmission format.</p>
</td>
      </tr>
    </tbody>
  </table>


  <a id="com_CIMthetics_CSharpSECSTools_SECSItems_SECSItem__ctor_" data-uid="com.CIMthetics.CSharpSECSTools.SECSItems.SECSItem.#ctor*"></a>
  <h4 id="com_CIMthetics_CSharpSECSTools_SECSItems_SECSItem__ctor_com_CIMthetics_CSharpSECSTools_SECSItems_SECSItemFormatCode_System_Int32_" data-uid="com.CIMthetics.CSharpSECSTools.SECSItems.SECSItem.#ctor(com.CIMthetics.CSharpSECSTools.SECSItems.SECSItemFormatCode,System.Int32)">SECSItem(SECSItemFormatCode, Int32)</h4>
  <div class="markdown level1 summary"><p>This is a base class constructor for a <code>SECSItem</code>.  When using this constructor, the
outbound number of length bytes will be set to the minimum number required to
handle an item with the length that is specified by the value of the
<code>length</code> parameter.</p>
<p></p>
This constructor sets the following base class attributes from the provided data: 
<code>formatCode</code>, <code>lengthInBytes</code>, and <code>outboundNumberOfLengthBytes</code>.
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="declaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">protected SECSItem(SECSItemFormatCode formatCode, int lengthInBytes)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="com.CIMthetics.CSharpSECSTools.SECSItems.SECSItemFormatCode.html">SECSItemFormatCode</a></td>
        <td><span class="parametername">formatCode</span></td>
        <td><p>The Format Code of the created <code>SECSItem</code>.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><span class="parametername">lengthInBytes</span></td>
        <td><p>The length in bytes of the item, or in the case of a
<code>ListSECSItem</code> the number of items it contains.It must be between 0
and 16777215 inclusive..</p>
</td>
      </tr>
    </tbody>
  </table>


  <a id="com_CIMthetics_CSharpSECSTools_SECSItems_SECSItem__ctor_" data-uid="com.CIMthetics.CSharpSECSTools.SECSItems.SECSItem.#ctor*"></a>
  <h4 id="com_CIMthetics_CSharpSECSTools_SECSItems_SECSItem__ctor_System_Byte___System_Int32_" data-uid="com.CIMthetics.CSharpSECSTools.SECSItems.SECSItem.#ctor(System.Byte[],System.Int32)">SECSItem(Byte[], Int32)</h4>
  <div class="markdown level1 summary"><p>FIXME
This is a base class constructor for a SECSItem.  This form of the constructor
is used when parsing wire/transmission format data and converting it into
its &quot;C# form&quot;.</p>
<p></p>
This constructor sets the following base class attributes from the provided data:
<code>formatCode</code>,
<code>inboundNumberOfLengthBytes</code>,
<code>outboundNumberOfLengthBytes</code>
<code>lengthInBytes</code> or if the <code>formatCode</code> is of type <code>L</code>(List) <code>lengthInBytes</code>
will be the number of items in the list.
<p></p>
The exception <code>ArgumentException</code> will be thrown in the following circumstances:
the <code>data</code> argument is <code>null</code>, the <code>data</code> argument has a length of zero, or
the number of length bytes parsed out is zero.
<p></p>
In normal use the only time the <code>ArgumentException</code> 
exception should be caught is if you are reading data from a piece of
equipment that does not properly speak SECS and you want to be able to
recover from the error gracefully.Typically the ACM process will have
detected this equipment and it will not be allowed into the factory in
the first place.
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="declaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">protected SECSItem(byte[] data, int itemOffset)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Byte</span>[]</td>
        <td><span class="parametername">data</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><span class="parametername">itemOffset</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h3 id="properties">Properties
</h3>


  <a id="com_CIMthetics_CSharpSECSTools_SECSItems_SECSItem_ItemFormatCode_" data-uid="com.CIMthetics.CSharpSECSTools.SECSItems.SECSItem.ItemFormatCode*"></a>
  <h4 id="com_CIMthetics_CSharpSECSTools_SECSItems_SECSItem_ItemFormatCode" data-uid="com.CIMthetics.CSharpSECSTools.SECSItems.SECSItem.ItemFormatCode">ItemFormatCode</h4>
  <div class="markdown level1 summary"><p>The Format Code of this <code>SECSItem</code>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="declaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public SECSItemFormatCode ItemFormatCode { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="com.CIMthetics.CSharpSECSTools.SECSItems.SECSItemFormatCode.html">SECSItemFormatCode</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>


  <a id="com_CIMthetics_CSharpSECSTools_SECSItems_SECSItem_LengthInBytes_" data-uid="com.CIMthetics.CSharpSECSTools.SECSItems.SECSItem.LengthInBytes*"></a>
  <h4 id="com_CIMthetics_CSharpSECSTools_SECSItems_SECSItem_LengthInBytes" data-uid="com.CIMthetics.CSharpSECSTools.SECSItems.SECSItem.LengthInBytes">LengthInBytes</h4>
  <div class="markdown level1 summary"><p>This is the length in bytes that this SECSItem requires,
NOT including its item header.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="declaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public virtual int LengthInBytes { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>


  <a id="com_CIMthetics_CSharpSECSTools_SECSItems_SECSItem_NumberOfLengthBytes_" data-uid="com.CIMthetics.CSharpSECSTools.SECSItems.SECSItem.NumberOfLengthBytes*"></a>
  <h4 id="com_CIMthetics_CSharpSECSTools_SECSItems_SECSItem_NumberOfLengthBytes" data-uid="com.CIMthetics.CSharpSECSTools.SECSItems.SECSItem.NumberOfLengthBytes">NumberOfLengthBytes</h4>
  <div class="markdown level1 summary"><p>The number of length bytes associated with this <code>SECSItem</code>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="declaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public SECSItemNumLengthBytes NumberOfLengthBytes { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="com.CIMthetics.CSharpSECSTools.SECSItems.SECSItemNumLengthBytes.html">SECSItemNumLengthBytes</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 id="com_CIMthetics_CSharpSECSTools_SECSItems_SECSItem_NumberOfLengthBytes_remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>This property when set will end up with the greater of the
value specified or the minimum value required to contain a <code>LengthInBytes</code>
amount of data.</p>
<p>
If the value is needed as an <code>int</code> use the <code>ValueOf()</code> method
of <code>SECSItemNumLengthBytes</code>to get it.
</p>
</div>
  <h3 id="methods">Methods
</h3>


  <a id="com_CIMthetics_CSharpSECSTools_SECSItems_SECSItem_EncodeForTransport_" data-uid="com.CIMthetics.CSharpSECSTools.SECSItems.SECSItem.EncodeForTransport*"></a>
  <h4 id="com_CIMthetics_CSharpSECSTools_SECSItems_SECSItem_EncodeForTransport" data-uid="com.CIMthetics.CSharpSECSTools.SECSItems.SECSItem.EncodeForTransport">EncodeForTransport()</h4>
  <div class="markdown level1 summary"><p>Creates and returns a <pre><code>byte[]</code></pre> that represents this SECSItem
in its &quot;wire/transmission format&quot;.
<p>
Each object that extends this class will need to correctly implement this method.
</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="declaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public abstract byte[] EncodeForTransport()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Byte</span>[]</td>
        <td><p>A<code>byte []</code> representation of this <code>SECSItem</code>'s content that is suitable for transmission.</p>
</td>
      </tr>
    </tbody>
  </table>


  <a id="com_CIMthetics_CSharpSECSTools_SECSItems_SECSItem_Equals_" data-uid="com.CIMthetics.CSharpSECSTools.SECSItems.SECSItem.Equals*"></a>
  <h4 id="com_CIMthetics_CSharpSECSTools_SECSItems_SECSItem_Equals_System_Object_" data-uid="com.CIMthetics.CSharpSECSTools.SECSItems.SECSItem.Equals(System.Object)">Equals(Object)</h4>
  <div class="markdown level1 summary"><p>Determines whether the specified <span class="xref">System.Object</span> is equal to the current <a class="xref" href="com.CIMthetics.CSharpSECSTools.SECSItems.SECSItem.html">SECSItem</a>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="declaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public override bool Equals(object obj)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Object</span></td>
        <td><span class="parametername">obj</span></td>
        <td><p>The <span class="xref">System.Object</span> to compare with the current <a class="xref" href="com.CIMthetics.CSharpSECSTools.SECSItems.SECSItem.html">SECSItem</a>.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p><code>true</code> if the specified <span class="xref">System.Object</span> is equal to the current
<a class="xref" href="com.CIMthetics.CSharpSECSTools.SECSItems.SECSItem.html">SECSItem</a>; otherwise, <code>false</code>.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="overrides">Overrides</h5>
  <div><span class="xref">System.Object.Equals(System.Object)</span></div>


  <a id="com_CIMthetics_CSharpSECSTools_SECSItems_SECSItem_GetHashCode_" data-uid="com.CIMthetics.CSharpSECSTools.SECSItems.SECSItem.GetHashCode*"></a>
  <h4 id="com_CIMthetics_CSharpSECSTools_SECSItems_SECSItem_GetHashCode" data-uid="com.CIMthetics.CSharpSECSTools.SECSItems.SECSItem.GetHashCode">GetHashCode()</h4>
  <div class="markdown level1 summary"><p>Serves as a hash function for a <a class="xref" href="com.CIMthetics.CSharpSECSTools.SECSItems.SECSItem.html">SECSItem</a> object.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="declaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public override int GetHashCode()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><p>A hash code for this instance that is suitable for use in hashing algorithms and data structures such as a
hash table.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="overrides">Overrides</h5>
  <div><span class="xref">System.Object.GetHashCode()</span></div>


  <a id="com_CIMthetics_CSharpSECSTools_SECSItems_SECSItem_GetSECSItemFormatCode_" data-uid="com.CIMthetics.CSharpSECSTools.SECSItems.SECSItem.GetSECSItemFormatCode*"></a>
  <h4 id="com_CIMthetics_CSharpSECSTools_SECSItems_SECSItem_GetSECSItemFormatCode" data-uid="com.CIMthetics.CSharpSECSTools.SECSItems.SECSItem.GetSECSItemFormatCode">GetSECSItemFormatCode()</h4>
  <div class="markdown level1 summary"><p>Gets the <code>SECSItemFormatCode</code> of this <code>SECSItem</code>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="declaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">[Obsolete(&quot;This method has been deprecated, please use property ItemFormatCode instead.&quot;)]
public SECSItemFormatCode GetSECSItemFormatCode()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="com.CIMthetics.CSharpSECSTools.SECSItems.SECSItemFormatCode.html">SECSItemFormatCode</a></td>
        <td><p>the value of the <code>SECSItemFormatCode</code>.</p>
</td>
      </tr>
    </tbody>
  </table>


  <a id="com_CIMthetics_CSharpSECSTools_SECSItems_SECSItem_OutputHeaderLength_" data-uid="com.CIMthetics.CSharpSECSTools.SECSItems.SECSItem.OutputHeaderLength*"></a>
  <h4 id="com_CIMthetics_CSharpSECSTools_SECSItems_SECSItem_OutputHeaderLength" data-uid="com.CIMthetics.CSharpSECSTools.SECSItems.SECSItem.OutputHeaderLength">OutputHeaderLength()</h4>
  <div class="markdown level1 summary"><p>Returns the length in bytes of what the outbound item header will require.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="declaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">protected int OutputHeaderLength()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><p>The header length in bytes.</p>
</td>
      </tr>
    </tbody>
  </table>


  <a id="com_CIMthetics_CSharpSECSTools_SECSItems_SECSItem_PopulateSECSItemHeaderData_" data-uid="com.CIMthetics.CSharpSECSTools.SECSItems.SECSItem.PopulateSECSItemHeaderData*"></a>
  <h4 id="com_CIMthetics_CSharpSECSTools_SECSItems_SECSItem_PopulateSECSItemHeaderData_System_Byte___System_Int32_" data-uid="com.CIMthetics.CSharpSECSTools.SECSItems.SECSItem.PopulateSECSItemHeaderData(System.Byte[],System.Int32)">PopulateSECSItemHeaderData(Byte[], Int32)</h4>
  <div class="markdown level1 summary"><p>This method fills in the first 2 to 4 bytes of a <code>SECSItem</code>'s
value (the <code>SECSItem</code>'s header) in its raw wire/transmission format.
The first byte contains value of the item's format code and number of length
bytes and the next 1 to 3 bytes contain the value of the item's length in bytes.</p>
<p>
Make sure <code>buffer</code> is large enough!!!
</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="declaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">protected int PopulateSECSItemHeaderData(byte[] buffer, int numberOfBytes)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Byte</span>[]</td>
        <td><span class="parametername">buffer</span></td>
        <td><p>The buffer that will be used to contain an outgoing message item.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><span class="parametername">numberOfBytes</span></td>
        <td><p>The number of bytes in the payload...get this right.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><p>The offset to where the payload data may loaded into the buffer.</p>
</td>
      </tr>
    </tbody>
  </table>
</article>
          </div>

          <div class="hidden-sm col-md-2" role="complementary">
            <div class="sideaffix">
              <div class="contribution">
                <ul class="nav">
                </ul>
              </div>
              <nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
                <h5>In This Article</h5>
                <div></div>
              </nav>
            </div>
          </div>
        </div>
      </div>

      <footer>
        <div class="grad-bottom"></div>
        <div class="footer">
          <div class="container">
            <span class="pull-right">
              <a href="#top">Back to top</a>
            </span>
      
      <span>Generated by <strong>DocFX</strong></span>
          </div>
        </div>
      </footer>
    </div>

    <script type="text/javascript" src="../../styles/docfx.vendor.js"></script>
    <script type="text/javascript" src="../../styles/docfx.js"></script>
    <script type="text/javascript" src="../../styles/main.js"></script>
  </body>
</html>
